 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
|
Works
with vectors
|
|
 |
|
|
|
|
|
|
A heap
is a binary tree in which every node is
|
|
 |
|
|
|
|
|
larger than the
values associated with either
|
|
|
child. A heap
and a binary tree, for that matter,
|
|
|
can be very
efficiently stored in a vector, by
|
|
|
placing the
children of node i in positions 2 * i +
|
|
1 and 2 * i + 2.
|
|
|
|
Using
this encoding, the largest value in the
|
|
 |
|
|
|
|
|
heap is always
located in the initial position, and
|
|
can therefore be
very efficiently retrieved.
|
|